#ifndef BASE_OBJECT
#define BASE_OBJECT

class BaseObject
{
private:
	int ID;
	
	int nextID(bool resetID) {
		static int new_id = 0;
		if(resetID) return new_ID = 0;
		else return ++new_id;}
		
	virtual BaseObject(): ID(nextID(false)) {}
	
	virtual void Update(double time_elapsed) = 0;
	
	~BaseObject() {}
};

#endif